A software product typically goes through many iterations of development releases, usually in parallel with problem fixes, functionality upgrades, performance improvements, etc. In a dynamic environment where it is important to take advantage of application functions as they become available, for example, for test or use purposes, a user is burdened with figuring out when to refresh executable code for the most current release. A user seeks status for when a later revision of executable code is available. Then the later version may be installed, or the files of importance from the development build must be copied to the correct location. There are many manual steps in this refresh process. A method is needed for automatically performing object code refreshes as soon as is appropriate, without user intervention, to assure the latest greatest level of software at all times.
A user may experience difficulty with later revisions of developed software. It becomes advantageous to backout the system to the previous and more stable level of software. Upon determining that the current product build warrants refreshing object code with a previous version, there are manual processes involved with performing the backout. Different users may also have different tolerances of when to backout. In such situations, an automated method is needed for consistently determining when backout is required, and then backing out a software refresh to a more stable level.